The disclosure of this patent document contains material which is subject to copyright and/or mask work protection. The owner thereof has no objection to facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office patent file or records, but otherwise reserves all copyright and/or mask work rights whatsoever.
The invention pertains to machine vision and, more particularly, to methods and articles of manufacture for inspecting ball grid array devices.
In automated assembly processes, such as those for assembling electronic circuit boards, it is important to determine the exact location of components prior to their placement for final assembly. For example, an assembly system must know the axial position and angular orientation of each component before placing its leads on appropriate solder pads of a printed circuit board.
Accuracy in positioning is ever more critical as the ratio of the size of the electronic components to the number of conductive leads increases. Such is the case with ball grid array (BGA) devices. These are small surface mounted devices containing tens or hundreds of conductive solder xe2x80x9cbumpsxe2x80x9d arranged in regular patterns, e.g., rectangular arrays, xe2x80x9cchecker boardsxe2x80x9d, et cetera. Because the bumps are so closely spaced, accurate placement and alignment with solder pads on the circuit board is imperative.
The art suggests a few approaches to determining the orientation of BGA devices. These approaches are primarily binary techniques based on xe2x80x9cblobxe2x80x9d analysis of the solder bump array images. A drawback of the approaches is that, due to their binary nature, they are highly susceptible to lighting conditions or device-to-device variations. Moreover, they require that correspondence steps be performed to remove extraneous features, or noise. Those correspondence steps are typically very time consuming. While some approaches have attempted to reduce that time by limiting the correspondence step to a small subset of the bumps, those approaches suffer reduced accuracy.
An object of this invention is to provide improved methods for machine vision analysis and, particularly, improved methods for inspection of ball grid array devices.
A more particular object of this invention is to provide improved methods for BGA device inspection that permit the placement and orientation of those components to be readily and accurately determined.
Yet still another object of the invention is to provide such methods that can execute quickly, and without consumption of excessive resources, on a wide range of machine vision analysis equipment.
Still yet another object of the invention is to provide articles of manufacture comprising a computer usable medium embodying program code for carrying out improved such methods.
The foregoing objects are attained by the invention which provides, in one aspect, a method of inspecting an image to locate a ball grid array surface-mounted device characterized by an array of similar surface features, e.g., solder bumps. The method includes the steps of inspecting the image to find its surface features and to determine their locations (referred to herein as their xe2x80x9cobservedxe2x80x9d locations); comparing expected locations of those features with the observed locations to identify missing surface features; reinspecting the image in the vicinity of apparently missing surface features to verify if the feature is really missing or to find those features and to determine their xe2x80x9cobservedxe2x80x9d locations; and determining, from the observed locations of the surface features, the position and/or angle of the ball grid array surface-mounted device.
The invention can be used to determine the position and/or angle of ball grid array surface-mounted devices with surface features in any of many array configurations, e.g., a regular lattice, a checker board lattice, a reverse checker board lattice, a regular lattice with a holes.
In further aspects, the invention calls for finding the convex hull (i.e., perimeter) and hull angle (i.e., angular orientation of the perimeter) of the observed surface features. From those, a grid of expected locations of the surface features can be generated. Each of the observed locations can be assigned to the closest vertex on the grid. A score is then generated based on the number of surface features assigned to each vertex and the distance between each such vertex and its assigned surface features.
In a related aspect of the invention, the position and/or angle of the ball grid array surface-mounted device can be determined by performing a rigid body fit of the observed locations of surface features to the grid of expected locations.
These and other aspects of the invention are evident in the drawings and in the description that follows.